﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using QLLUONG.DTO;
using QLLUONG.BLL;
namespace QLLUONG
{
    public partial class FormCV : Form
    {
        public FormCV()
        {
            InitializeComponent();
        }
        ChucVuBLL CVBLL = new ChucVuBLL();
        public void ShowInsert(bool kq)
        {
            txtHSL.Enabled = kq;
            txtHSPC.Enabled = kq;
            txtMaCV.Enabled = kq;
            txtTenCV.Enabled = kq;
        }
        public void ResetFrom()
        {
            txtMaCV.ResetText();
            txtTenCV.ResetText();
            txtHSPC.ResetText();
            txtHSL.ResetText();
            
        }
        private void button2_Click(object sender, EventArgs e)
        {
            ShowInsert(true);
        }
        public bool CheckNull()
        {
            if (txtMaCV.Text == "")
            {
                MessageBox.Show("Không bỏ trống Mã Chức Vụ");
                return false;
            }
            else if (txtTenCV.Text == "")
            {
                MessageBox.Show("Không bỏ trống Tên Chức Vụ");
                return false;
            }
            else if (txtHSL.Text == "")
            {
                MessageBox.Show("Nhập Hệ Số Lương");
                return false;
            }
            else if (txtHSPC.Text == "")
            {
                MessageBox.Show("Nhập Hệ Số Phụ Cấp");
                return false;
            }
            else
            {
                return true;
            }

        }
        private void InsertCVbtn_Click(object sender, EventArgs e)
        {
            if (CheckNull() == true)
            {
                double HSL = double.Parse(txtHSL.Text);
                double HSPC = double.Parse(txtHSPC.Text);
                ChucVu CV = new ChucVu(txtMaCV.Text, txtTenCV.Text, HSL, HSPC);
                if (CVBLL.CheckCV(txtMaCV.Text) == true || CVBLL.CheckTenCV(txtTenCV.Text))
                {

                    MessageBox.Show("Chức Vụ Đã Tồn Tại");
                }
                else
                {
                    bool KQ = CVBLL.Insert(CV);
                    if (KQ == true)
                    {

                        ResetFrom();
                        DataGridCV.DataSource = CVBLL.Show();
                        ShowInsert(false);
                        MessageBox.Show("Đã Thêm Chức Vụ " + txtTenCV.Text + " Vào CSDL ");

                    }
                    else
                    {

                        MessageBox.Show("Thất bại !! Kiểm Tra Dữ Liệu Vào !!");
                    }

                }
            }
        }

        private void FormCV_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'qLLUONGDataSet.CHUCVU' table. You can move, or remove it, as needed.
            //this.cHUCVUTableAdapter.Fill(this.qLLUONGDataSet.CHUCVU);
            // TODO: This line of code loads data into the 'qLLUONGDataSet.NHANVIEN' table. You can move, or remove it, as needed.

            ShowInsert(false);
            DataGridCV.DataSource = CVBLL.Show();
        }

        private void DataGridCV_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            ResetFrom();
            txtMaCV.Text = DataGridCV.CurrentRow.Cells[0].Value.ToString();
            txtTenCV.Text = DataGridCV.CurrentRow.Cells[1].Value.ToString();
            txtHSL.Text = DataGridCV.CurrentRow.Cells[3].Value.ToString();
            txtHSPC.Text = DataGridCV.CurrentRow.Cells[2].Value.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            txtHSL.ResetText();
            txtHSPC.ResetText();
            txtMaCV.ResetText();
            txtMaCV.Focus();
            txtTenCV.ResetText();
        }

        private void UpdateCVbtn_Click(object sender, EventArgs e)
        {
            if (CheckNull() == true)
            {
                double HSL = double.Parse(txtHSL.Text);
                double HSPC = double.Parse(txtHSPC.Text);
                ChucVu CV = new ChucVu(txtMaCV.Text, txtTenCV.Text, HSL, HSPC);
                bool KQ = CVBLL.Update(CV);
                if (KQ == true)
                {
                    ResetFrom();
                    DataGridCV.DataSource = CVBLL.Show();
                    ShowInsert(false);
                    MessageBox.Show("Đã Update Chức Vụ ");
                }
                else
                {
                    MessageBox.Show("Thất bại !! Kiểm Tra Dữ Liệu Vào !!");
                }
            }
        }

        private void DeleteCVbtn_Click(object sender, EventArgs e)
        {
            if (txtMaCV.Text != "")
            {
                String MACV = txtMaCV.Text;
                String TENCV = CVBLL.TENCV(MACV);


                bool KQ = CVBLL.Delete(MACV);
                if (KQ == true)
                {
                    ResetFrom();
                    DataGridCV.DataSource = CVBLL.Show();
                    MessageBox.Show("Đã Xóa Chức Vụ ");
                }
                else
                {
                    MessageBox.Show("Thất bại !! Kiểm Tra Dữ Liệu Vào !!");
                }



            }
            else
            {
                MessageBox.Show("Không Được Để Trống Mã Chức Vụ");
            }
        }
        
    }
}
